home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DDJMAG / DDJ9203.ZIP / OOPASM.ZIP / MACROS.HLP < prev    next >
Text File  |  1990-12-14  |  9KB  |  498 lines

  1. Name:        defDispTbl 
  2.  
  3.  
  4. File:        macros.mac
  5.  
  6.  
  7. Description:
  8.  
  9. Defines a dispatch table consisting of keyboard and mouse event descriptions,
  10. and object/message pairs to be sent when event occurs. This table is labeled
  11. with the object name concatenated with "DispTbl" (e.g. VertMenuDispTbl).
  12.  
  13.  
  14. Syntax:
  15.  
  16.     defDispTbl    object,\
  17.         <acode,scode,state,ur,lc,lr,rc,obj,msg[,obj,msg...]>
  18.  
  19.  
  20. Field Meanings:
  21.  
  22.     object         defining object name
  23.     acode         ASCII code of keyboard event
  24.     scode         scan code of keyboard event
  25.     state         button state (Nil = Don't care, 0 = Button released,
  26.             1 = Button pressed),
  27.     ur        upper row of valid mouse region
  28.     lc        left column
  29.     lr        lower row
  30.     rc        right column
  31.     obj        object to get message when event occurs
  32.     msg        message to pass to object when event occurs
  33.  
  34.  
  35. Example:
  36.  
  37.     defDispTbl    VertMenu,\
  38.         <0,0,3,0,0,0,0,System,Reset>,\
  39.         <13,28,0,MR,LC,LR,LC+8,Self,Select>,\
  40.         <0,68,3,0,0,0,0,Self,Clear,System,Refresh,System,Read>,\
  41.         <27,1,0,0,0,24,79,Self,Clear>,\
  42.         <0,Nil,1,0,0,24,79,Self,DeHilite>,\
  43.         <Nil,Nil,Nil,0,0,24,79,Hardware,Refresh>
  44.  
  45.  
  46.  
  47. =============================================================================
  48. =============================================================================
  49.  
  50.  
  51.  
  52. Name:        defMenu
  53.  
  54.  
  55. File:        macros.mac
  56.  
  57.  
  58. Description:
  59.  
  60. Defines a menu consisting of zero terminated ASCII strings. This menu is
  61. labeled with the object name concatenated with "Menu" (e.g. DialogMenu).
  62.  
  63.  
  64. Syntax:
  65.  
  66.     defMenu    object,\
  67.         <'string[,'string'...]>
  68.  
  69.  
  70. Field Meanings:
  71.  
  72.     object         defining object name
  73.     string        ASCII string for menu item
  74.  
  75.  
  76. Example:
  77.  
  78.     defMenu    Dialog,\
  79.         <'Ok','Cancel','Help'>
  80.  
  81.  
  82.  
  83. =============================================================================
  84. =============================================================================
  85.  
  86.  
  87.  
  88. Name:        defMenuTbl
  89.  
  90.  
  91. File:        macros.mac
  92.  
  93.  
  94. Description:
  95.  
  96. Defines a menu dispatch table consisting of object/message pairs
  97. cooresponding to menu items defined with the defMenu macro. This table is
  98. labeled with the object name concatenated with "MenuTbl" (e.g.
  99. DialogMenuTbl).
  100.  
  101.  
  102. Syntax:
  103.  
  104.     defMenuTbl    object,\
  105.         <obj,msg[,obj,msg...]>
  106.  
  107.  
  108. Field Meanings:
  109.  
  110.     object         defining object name
  111.     obj        object to get message when menu item selected
  112.     msg        message to pass to object when menu item selected
  113.  
  114.  
  115. Example:
  116.  
  117.     defMenuTbl    Dialog,\
  118.         <SomeObj,Activate>,\
  119.         <Self,Clear>,\
  120.         <Help,Refresh>
  121.  
  122.  
  123.  
  124. =============================================================================
  125. =============================================================================
  126.  
  127.  
  128.  
  129. Name:        defMsg
  130.  
  131.  
  132. File:        objects.mac
  133.  
  134.  
  135. Description:
  136.  
  137. Defines a message consisting of a _Message structure of three method pointers
  138. cooresponding to the Before, Primary, and After methods. This structure is
  139. labeled with the object name concatenated with the message name (e.g.
  140. ScreenRefresh).
  141.  
  142.  
  143. Syntax:
  144.  
  145.     defMsg    object,\
  146.             message,\
  147.         <[before],[primary],[after]>
  148.  
  149.  
  150. Field Meanings:
  151.  
  152.     object         defining object name
  153.     message        message being defined
  154.     before        Before method (procedure) name
  155.     primary        Primary method name
  156.         after        After method name
  157.  
  158.  
  159. Example:
  160.  
  161.     defMsg    Screen,\
  162.         Refresh,\
  163.         <,drawBackDrop,drawLabel>
  164.  
  165.  
  166.  
  167. =============================================================================
  168. =============================================================================
  169.  
  170.  
  171.  
  172. Name:        defObj
  173.  
  174.  
  175. File:        objects.mac
  176.  
  177.  
  178. Description:
  179.  
  180. Defines an object consisting of an ject structure of three pointers to
  181. an ancestor table, instance variable table, and a message table. This
  182. structure is labeled with the object name.
  183.  
  184.  
  185. Syntax:
  186.  
  187.     defObj    object,\
  188.         <[obj1[,obj2...]]>,\
  189.         <[inst1,size1,value1[,inst2,size2,value2...]]>,\
  190.                 <msg1[,msg2...]>
  191.  
  192.  
  193. Field Meanings:
  194.  
  195.     object         name of object being defined
  196.     obj        ancestral object name
  197.     inst        instance variable name
  198.     size        instance variable size
  199.     value        instance variable initial value
  200.     msg        message name object will respond to
  201.  
  202.  
  203. Example:
  204.  
  205.     defObj    File,\
  206.         <MemMngr>,\
  207.         <MemSize,2,80h,\
  208.         MemSeg,2,Nil,\
  209.         FileHdl,2,Nil,\
  210.         BytesRead,2,Nil>,\
  211.         <Open,Read,Init>
  212.  
  213.  
  214.  
  215. =============================================================================
  216. =============================================================================
  217.  
  218.  
  219.  
  220. Name:        getInst
  221.  
  222.  
  223. File:        objects.mac
  224.  
  225.  
  226. Description:
  227.  
  228. Gets the value of an instance variable.
  229.  
  230.  
  231. Syntax:
  232.  
  233.     getInst        reg,inst[,obj]
  234.  
  235.  
  236. Field Meanings:
  237.  
  238.     reg        destination register
  239.     inst        instance variable name
  240.     obj        source object (it is assumed that the SI register
  241.             contains the source object address if not specified)
  242.  
  243.  
  244. Example:
  245.  
  246.     getInst        bx,InxPtr,Self        ;Get Self's index pointer
  247.     getInst        si,TextPtr              ;And its text pointer
  248.  
  249.  
  250.  
  251. =============================================================================
  252. =============================================================================
  253.  
  254.  
  255.  
  256. Name:        getInst$
  257.  
  258.  
  259. File:        objects.mac
  260.  
  261.  
  262. Description:
  263.  
  264. Gets the value of an instance variable when the source object is pointed to
  265. by a Self instance variable.
  266.  
  267.  
  268. Syntax:
  269.  
  270.     getInst$    reg,inst[,obj-inst]
  271.  
  272.  
  273. Field Meanings:
  274.  
  275.     reg        destination register
  276.     inst        instance variable name
  277.     obj-inst    source object instance variable
  278.  
  279.  
  280. Example:
  281.  
  282.     getInst$    dh,Row1,MasterObj    ;Get master's upper row 
  283.     getInst        dl,Col1            ;And left column
  284.  
  285.  
  286.  
  287. =============================================================================
  288. =============================================================================
  289.  
  290.  
  291.  
  292. Name:        getStackArgs
  293.  
  294.  
  295. File:        macros.mac
  296.  
  297.  
  298. Description:
  299.  
  300. Gets method arguments off the stack and places them in the specified
  301. registers.
  302.  
  303.  
  304. Syntax:
  305.  
  306.     getStackArgs    <reg[,reg...]>
  307.  
  308.  
  309. Field Meanings:
  310.  
  311.     reg        destination register
  312.  
  313.  
  314. Example:
  315.  
  316.     getStackArgs    <ax,bx,cx>        ;Get top 3 stack items
  317.  
  318.  
  319.  
  320. =============================================================================
  321. =============================================================================
  322.  
  323.  
  324.  
  325. Name:        initObj
  326.  
  327.  
  328. File:        objects.mac
  329.  
  330.  
  331. Description:
  332.  
  333. Initializes an object. Only those objects passed messages by the send or
  334. sendLoop macro need to be initialized.
  335.  
  336.  
  337. Syntax:
  338.  
  339.     initObj        object
  340.  
  341.  
  342. Field Meanings:
  343.  
  344.     object        name of object to be in initialized
  345.  
  346.  
  347. Example:
  348.  
  349.     initObj     VertMenu        ;Must be initialized before
  350.                         ;  any of its ancestors
  351.     initObj        Menu
  352.  
  353.  
  354.  
  355. =============================================================================
  356. =============================================================================
  357.  
  358.  
  359.  
  360. Name:        send
  361.  
  362.  
  363. File:        objects.mac
  364.  
  365.  
  366. Description:
  367.  
  368. Sends a message to an object. Object must first be initialized with the
  369. initObj macro.
  370.  
  371.  
  372. Syntax:
  373.  
  374.     send        object,message[,<arg1[,arg2...]>]
  375.  
  376.  
  377. Field Meanings:
  378.  
  379.     object        name of object to sent message
  380.     message        name of message sent to object
  381.     arg        optional message argument (retreived with the
  382.                 getStackArgs macro and changed with setStackArgs)
  383.  
  384.  
  385. Example:
  386.  
  387.     send        Screen,Refresh        ;Send Screen a Refresh msg
  388.     send        MenuBar,Hilite,ax    ;Hilite AXth menu item
  389.  
  390.  
  391.  
  392. =============================================================================
  393. =============================================================================
  394.  
  395.  
  396.  
  397. Name:        setInst
  398.  
  399.  
  400. File:        objects.mac
  401.  
  402.  
  403. Description:
  404.  
  405. Sets the value of an instance variable.
  406.  
  407.  
  408. Syntax:
  409.  
  410.     setInst        inst,source[,[obj],size]
  411.  
  412.  
  413. Field Meanings:
  414.  
  415.     inst        instance variable name
  416.         source        source register or memory location
  417.     obj        source object (it is assumed that the SI register
  418.             contains the source object address if not specified)
  419.         size        size of data item (only needed if source is memory)
  420.  
  421.  
  422. Example:
  423.  
  424.     setInst        TextPtr,si,Self        ;Set Self's text pointer
  425.     setInst        InxPtr,Nil,,2        ;And index pointer
  426.  
  427.  
  428.  
  429. =============================================================================
  430. =============================================================================
  431.  
  432.  
  433.  
  434. Name:        setInst$
  435.  
  436.  
  437. File:        objects.mac
  438.  
  439.  
  440. Description:
  441.  
  442. Sets the value of an instance variable when the source object is pointed to
  443. by a Self instance variable.
  444.  
  445.  
  446. Syntax:
  447.  
  448.     setInst$    inst,source[,[obj-inst],size]
  449.  
  450.  
  451. Field Meanings:
  452.  
  453.     inst        instance variable name
  454.         source        source register or memory location
  455.     obj-inst    source object instance variable
  456.         size        size of data item (only needed if source is memory)
  457.  
  458.  
  459. Example:
  460.  
  461.     setInst$    TextPtr,si,MasterObj    ;Set master's text pointer
  462.     setInst        InxPtr,Nil,,2        ;And index pointer
  463.  
  464.  
  465.  
  466. =============================================================================
  467. =============================================================================
  468.  
  469.  
  470.  
  471. Name:        setStackArgs
  472.  
  473.  
  474. File:        macros.mac
  475.  
  476.  
  477. Description:
  478.  
  479. Sets method stack arguments with the specified register values.
  480.  
  481.  
  482. Syntax:
  483.  
  484.     setStackArgs    <reg[,reg...]>
  485.  
  486.  
  487. Field Meanings:
  488.  
  489.     reg        source register
  490.  
  491.  
  492. Example:
  493.  
  494.     getStackArgs    <ax,bx>            ;Get top 2 stack items
  495.     inc        ax
  496.         xor        bx,bx
  497.     setStackArgs    <ax,bx>            ;Now change those values
  498.